import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { fileURLToPath, URL } from 'node:url';

// 引入自动引入插件
import AutoImport from 'unplugin-auto-import/vite';

// 引入自动生成路由
import Pages from 'vite-plugin-pages';

// 引入scope-css插件
import { reactScopedCssPlugin } from 'rollup-plugin-react-scoped-css';

// https://vite.dev/config/
export default defineConfig({
    plugins: [
        react(),
        AutoImport({
            imports: [
                'react',
                'react-router-dom'
            ],
            dts: './src/auto-imports.d.ts',
        }),
        Pages({
            dirs: 'src/views', // 需要生成路由的组件目录
            exclude: ['**/components/*.tsx'], // 排除在外的目录，即所有 components 目录下的 .tsx 文件都不会生成路由
        }),
        reactScopedCssPlugin(),
    ],
    resolve: {
        alias: {
            // 设置@符号 别名路径变量
            '@': fileURLToPath(new URL('./src', import.meta.url)),
        }
    },
    server: {
        //开发服务器的配置
        //反向代理
        proxy: {
            '/hotel': {
                target: 'http://www.fast.com/hotel',// 反向代理的目标地址
                // target: 'https://www.mcooper.fastadmin.thecuriouscat.site/hotel',//反向代理的目标地址
                changeOrigin: true, //允许跨域
                //替换掉hotel前缀 防止多个hotel地址
                rewrite: (path) => path.replace(/^\/hotel/, ''),
            },
        },
    },
});
